The invention relates to data synchronization in a telecommunications system, particularly to application data synchronization in a networked system comprising at least one terminal, at least one synchronization server and at least one database. Data synchronization is an operation in which a correspondence between at least two data collections is created in such a way that, after the synchronization, the information units of the data collections substantially correspond to each other.
Data of portable terminals, such as portable computers, PDA (Personal Digital Assistant) devices, mobile stations or pagers, can be synchronized with network applications, desktop computer applications or other databases in a telecommunications system. Typically, data of calendar and e-mail applications, in particular, are synchronized. Synchronization has previously been based on different manufacturer-specific protocols which are not compatible with each other. This restricts the use of the terminals and data types used and is typically difficult for the user. In mobile communication, in particular, it is important to acquire and update data irrespective of the terminal or application used.
The SyncML (Synchronization Markup Language), which is based on the XML (Extensible Markup Language), has been provided for improved application data synchronization. The SyncML synchronization protocol using messages in the SyncML format allows data synchronization in any application between any networked terminals. For example, a calendar entry in a mobile station is automatically synchronized with the network calendar used by a company secretary. The SyncML synchronization protocol operates in both wireless and wired networks and supports several transfer protocols. The SyncML synchronization protocol can be implemented, for example, on top of the HTTP protocol (Hyper Text Transfer Protocol), the WSP protocol (Wireless Session Protocol) of the WAP (Wireless Application Protocol) standard, the OBEX protocol used for cable links, such as the USB (Universal Serial Bus) or RS-232, or for short-range radio frequency (Bluetooth) links or infrared (IrDA) links, on top of a TCP/IP (Transport Control Protocol/Internet Protocol) stack, and also on top of an e-mail protocol (SMTP, Simple Mail Transfer Protocol).
FIG. 1 illustrates a synchronization example in which a mobile station MS functions as a SyncML client terminal and a network server S functions as a SyncML server. In the SyncML synchronization service, a synchronization session is first initialized, whereby for example the database to be synchronized is selected. The SyncML client terminal MS comprises a Sync Client Agent and sends a SyncML message (Client Modifications) comprising at least information on the data that is the object of the synchronization in the mobile station MS and that has changed after the previous synchronization. The SyncML server S comprises a Sync Server Agent controlling the synchronization and a Sync Engine, and it usually waits for the initiation of the SyncML client (MS) for synchronization. The server S synchronizes the data, i.e., analyzes the modifications made to the data of the database and client terminal and makes the data coherent (makes the necessary modifications, replacements and deletions). After this, the SyncML server S returns the server modifications to the SyncML client (MS). The above-described example is simple, but nevertheless, it illustrates the roles of the devices in the SyncML standard. The SyncML client terminal (MS) is typically a mobile station, a PC (Personal Computer), a laptop computer, or a PDA device. The SyncML server S is typically a network server or a PC.
Various settings relating to the synchronization must be defined for the terminal comprising a SyncML client agent before synchronization with the SyncML server can be performed. These settings include the address of the SyncML server and the addresses and types of the databases used. Users typically have several databases to synchronize, so that each database requires settings of its own. Users find entering these settings manually and even accepting completed settings difficult and laborious.